@inproceedings{sequoia,
  author    = {Kayvon Fatahalian and
               Daniel Reiter Horn and
               Timothy J. Knight and
               Larkhoon Leem and
               Mike Houston and
               Ji Young Park and
               Mattan Erez and
               Manman Ren and
               Alex Aiken and
               William J. Dally and
               Pat Hanrahan},
  title     = {Memory - Sequoia: programming the memory hierarchy},
  booktitle = {SC},
  year      = {2006},
  pages     = {83},
  ee        = {http://doi.acm.org/10.1145/1188455.1188543},
  crossref  = {DBLP:conf/sc/2006},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/sc/2006,
  title     = {Proceedings of the ACM/IEEE SC2006 Conference on High Performance
               Networking and Computing, November 11-17, 2006, Tampa, FL,
               USA},
  booktitle = {SC},
  publisher = {ACM Press},
  year      = {2006},
  isbn      = {0-7695-2700-0},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{sequoia-compiler,
  author    = {Timothy J. Knight and
               Ji Young Park and
               Manman Ren and
               Mike Houston and
               Mattan Erez and
               Kayvon Fatahalian and
               Alex Aiken and
               William J. Dally and
               Pat Hanrahan},
  title     = {Compilation for explicitly managed memory hierarchies},
  booktitle = {PPOPP},
  year      = {2007},
  pages     = {226-236},
  ee        = {http://doi.acm.org/10.1145/1229428.1229477},
  crossref  = {DBLP:conf/ppopp/2007},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/ppopp/2007,
  editor    = {Katherine A. Yelick and
               John M. Mellor-Crummey},
  title     = {Proceedings of the 12th ACM SIGPLAN Symposium on Principles
               and Practice of Parallel Programming, PPOPP 2007, San Jose,
               California, USA, March 14-17, 2007},
  booktitle = {PPOPP},
  publisher = {ACM},
  year      = {2007},
  isbn      = {978-1-59593-602-8},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{Boehm05,
  author    = {Hans-Juergen Boehm},
  title     = {Threads cannot be implemented as a library},
  booktitle = {PLDI},
  year      = {2005},
  pages     = {261-268},
  ee        = {http://doi.acm.org/10.1145/1065010.1065042},
  crossref  = {DBLP:conf/pldi/2005},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/pldi/2005,
  editor    = {Vivek Sarkar and
               Mary W. Hall},
  title     = {Proceedings of the ACM SIGPLAN 2005 Conference on Programming
               Language Design and Implementation, Chicago, IL, USA, June
               12-15, 2005},
  booktitle = {PLDI},
  publisher = {ACM},
  year      = {2005},
  isbn      = {1-59593-056-6},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@book{tempmetaprog,
 author = {Abrahams, David and Gurtovoy, Aleksey},
 title = {C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series)},
 year = {2004},
 isbn = {0321227255},
 publisher = {Addison-Wesley Professional},
 }
@book{moderncpp,
 author = {Alexandrescu, Andrei},
 title = {Modern C++ design: generic programming and design patterns applied},
 year = {2001},
 isbn = {0-201-70431-5},
 publisher = {Addison-Wesley Longman Publishing Co., Inc.},
 address = {Boston, MA, USA},
 }

@inproceedings{saha09,
  author    = {Bratin Saha and
               Xiaocheng Zhou and
               Hu Chen and
               Ying Gao and
               Shoumeng Yan and
               Mohan Rajagopalan and
temp               Jesse Fang and
               Peinan Zhang and
               Ronny Ronen and
               Avi Mendelson},
  title     = {Programming model for a heterogeneous x86 platform},
  booktitle = {PLDI},
  year      = {2009},
  pages     = {431-440},
  ee        = {http://doi.acm.org/10.1145/1542476.1542525},
  crossref  = {DBLP:conf/pldi/2009},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/pldi/2009,
  editor    = {Michael Hind and
               Amer Diwan},
  title     = {Proceedings of the 2009 ACM SIGPLAN Conference on Programming
               Language Design and Implementation, PLDI 2009, Dublin, Ireland,
               June 15-21, 2009},
  booktitle = {PLDI},
  publisher = {ACM},
  year      = {2009},
  isbn      = {978-1-60558-392-1},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{imagine,
  author    = {Ujval J. Kapasi and
               William J. Dally and
               Scott Rixner and
               John D. Owens and
               Brucek Khailany},
  title     = {The Imagine Stream Processor},
  booktitle = {ICCD},
  year      = {2002},
  pages     = {282-288},
  ee        = {http://csdl.computer.org/comp/proceedings/iccd/2002/1700/00/17000282abs.htm},
  crossref  = {DBLP:conf/iccd/2002},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/iccd/2002,
  title     = {20th International Conference on Computer Design (ICCD 2002),
               VLSI in Computers and Processors, 16-18 September 2002,
               Freiburg, Germany, Proceedings},
  booktitle = {ICCD},
  publisher = {IEEE Computer Society},
  year      = {2002},
  isbn      = {0-7695-1700-5},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{larrabee,
 author = {Seiler, Larry and Carmean, Doug and Sprangle, Eric and Forsyth, Tom and Abrash, Michael and Dubey, Pradeep and Junkins, Stephen and Lake, Adam and Sugerman, Jeremy and Cavin, Robert and Espasa, Roger and Grochowski, Ed and Juan, Toni and Hanrahan, Pat},
 title = {Larrabee: a many-core x86 architecture for visual computing},
 booktitle = {SIGGRAPH '08: ACM SIGGRAPH 2008 papers},
 year = {2008},
 pages = {1--15},
 location = {Los Angeles, California},
 doi = {http://doi.acm.org/10.1145/1399504.1360617},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

@book{tcpl,
    author = {Stroustrup, Bjarne},
    isbn = {0201700735},
    month = {February},
    posted-at = {2008-07-07 14:05:11},
    priority = {0},
    publisher = {{Addison-Wesley Professional}},
    title = {The C++ Programming Language (Special 3rd Edition)},
    year = {2000}
}

@article{cellbe,
 author = {Kahle, J. A. and Day, M. N. and Hofstee, H. P. and Johns, C. R. and Maeurer, T. R. and Shippy, D.},
 title = {Introduction to the cell multiprocessor},
 journal = {IBM J. Res. Dev.},
 volume = {49},
 number = {4/5},
 year = {2005},
 issn = {0018-8646},
 pages = {589--604},
 publisher = {IBM Corp.},
 address = {Riverton, NJ, USA},
 }
@article{cellnetwork,
  author    = {Michael Kistler and
               Michael Perrone and
               Fabrizio Petrini},
  title     = {Cell Multiprocessor Communication Network: Built for Speed},
  journal   = {IEEE Micro},
  volume    = {26},
  number    = {3},
  year      = {2006},
  pages     = {10-23},
  ee        = {http://doi.ieeecomputersociety.org/10.1109/MM.2006.49},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{merge,
  author    = {Michael D. Linderman and
               Jamison D. Collins and
               Hong Wang 0003 and
               Teresa H. Y. Meng},
  title     = {Merge: a programming model for heterogeneous multi-core
               systems},
  booktitle = {ASPLOS},
  year      = {2008},
  pages     = {287-296},
  ee        = {http://doi.acm.org/10.1145/1346281.1346318},
  crossref  = {DBLP:conf/asplos/2008},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
@proceedings{DBLP:conf/asplos/2008,
  editor    = {Susan J. Eggers and
               James R. Larus},
  title     = {Proceedings of the 13th International Conference on Architectural
               Support for Programming Languages and Operating Systems,
               ASPLOS 2008, Seattle, WA, USA, March 1-5, 2008},
  booktitle = {ASPLOS},
  publisher = {ACM},
  year      = {2008},
  isbn      = {978-1-59593-958-6},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@article{Loveman77,
  author    = {David B. Loveman},
  title     = {Program Improvement by Source-to-Source Transformation},
  journal   = {J. ACM},
  volume    = {24},
  number    = {1},
  year      = {1977},
  pages     = {121-145},
  ee        = {http://doi.acm.org/10.1145/321992.322000},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

@TECHREPORT{upc,
	AUTHOR = { W. Carlson and J.M. Draper and D.E. Culler and K. Yelick and E. Brooks and K. Warren },
	TITLE = {Introduction to UPC and Language Specification},
	INSTITUTION = { George Mason University },
	NUMBER = { CCS-TR-99-157 },
	YEAR = 1999,
	MONTH = MAY,
	NOTE = {\url{http://upc.gwu.edu/}},
}

@electronic{cuda,
	Date-Added = {2009-11-12 03:56:03 +0800},
	Date-Modified = {2009-11-12 03:57:03 +0800},
	Title = {Nvidia OpenCL Programming Guide for the CUDA},
	Urldate = {http://www.nvidia.com/content/cudazone/download/OpenCL/NVIDIA_OpenCL_ProgrammingGuide.pdf}}

@article{tempturing,
	Author = {Todd L. Veldhuizen},
	Date-Added = {2009-11-12 03:12:30 +0800},
	Date-Modified = {2009-11-12 03:17:31 +0800},
	Title = {C++ Templates are Turing Complete}}

@book{dragonbook,
	Author = {Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman},
	Date-Added = {2009-11-12 03:07:14 +0800},
	Date-Modified = {2009-11-12 03:10:29 +0800},
	Publisher = {Pearson Education},
	Title = {Compilers: Principles, Techniques, and Tools},
	Year = {2006}}

@electronic{tbb,
	Date-Added = {2009-11-12 11:33:40 +0800},
	Date-Modified = {2009-11-12 11:35:56 +0800},
	Title = {Intel Thread Building Blocks Reference Manual},
	Urldate = {http://www.threadingbuildingblocks.org/documentation.php}}


@electronic{openmp,
	Date-Added = {2009-11-12 03:41:21 +0800},
	Date-Modified = {2009-11-12 03:45:55 +0800},
	Keywords = {openmpspec},
	Title = {OpenMP Specificaiton Version 3.0},
	Urldate = {http://www.openmp.org/mp-documents/spec30.pdf},
	Year = {2008}}


@article{c++03,
	Date-Added = {2009-11-12 04:08:50 +0800},
	Date-Modified = {2009-11-12 11:46:07 +0800},
	Title = {SO/IEC (2003). ISO/IEC 14882:2003(E): Programming Languages - C++ },
	Year = {2003}}

@article{c++0x,
        Title = {SO/IEC N2960, Standard for Programming Language C++, Working Draft},
        Year = {2009}
}

@article{opencl,
	Author = {Aaftab Munshi},
	Date-Added = {2009-11-12 03:52:45 +0800},
	Date-Modified = {2009-11-12 03:55:54 +0800},
	Title = {The OpenCL Specification Version 1.0},
	Year = {2009}}

@electronic{mpl,
	Author = {Aleksey Gurtovoy, David Abrahams},
	Date-Added = {2009-11-12 03:32:08 +0800},
	Date-Modified = {2009-11-12 03:49:17 +0800},
	Title = {The BOOST C++ Meta-programming Library},
	Urldate = {www.boost.org/doc/libs/release/libs/mpl/doc/paper/mpl_paper.pdf}}

@inproceedings{brookgpu,
 author = {Buck, Ian and Foley, Tim and Horn, Daniel and Sugerman, Jeremy and Fatahalian, Kayvon and Houston, Mike and Hanrahan, Pat},
 title = {Brook for GPUs: stream computing on graphics hardware},
 booktitle = {SIGGRAPH '04: ACM SIGGRAPH 2004 Papers},
 year = {2004},
 pages = {777--786},
 location = {Los Angeles, California},
 doi = {http://doi.acm.org/10.1145/1186562.1015800},
 publisher = {ACM},
 address = {New York, NY, USA},
 }
@inproceedings{vartemp,
 author = {Gregor, Douglas and J\"{a}rvi, Jaakko},
 title = {Variadic templates for C++},
 booktitle = {SAC '07: Proceedings of the 2007 ACM symposium on Applied computing},
 year = {2007},
 isbn = {1-59593-480-4},
 pages = {1101--1108},
 location = {Seoul, Korea},
 doi = {http://doi.acm.org/10.1145/1244002.1244243},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

@article{Fatahalian08,
 author = {Fatahalian, Kayvon and Houston, Mike},
 title = {GPUs: A Closer Look},
 journal = {Queue},
 volume = {6},
 number = {2},
 year = {2008},
 issn = {1542-7730},
 pages = {18--28},
 doi = {http://doi.acm.org/10.1145/1365490.1365498},
 publisher = {ACM},
 address = {New York, NY, USA},
 }
@electronic{cudaref,
        Auther = {Nvidia corp.},
        Title = {Nvidia CUDA Reference Manual Version 2.3},
        Urldate = {developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/CUDA_Reference_Manual_2.3.pdf},
}
